package service.associationmanager;

import java.util.List;
import java.util.Map;
import service.authentification.Contributor;
import web.form.DelegationInfo;
import web.form.SheetInfo;


public interface IAssociationManager {
	public List<DelegationInfo> findGivenDelegations(String ownerCode);
	public List<DelegationInfo> findReceivedDelegations(String personCode);
	public List<SheetInfo> findOwnedSheet(String code);
	
	public Map<String, List<DelegationInfo>> findGivenDelegationsByType(String ownerCode);
	public Map<String, List<DelegationInfo>> findReceivedDelegationsByType(String personCode);
	public Map<String, List<SheetInfo>> findOwnedSheetByType(String code);
	
	public List<SheetInfo> addDelegations(Contributor contributor, List<String> personCodes, List<SheetInfo> sheet);
	public void removeDelegations(List<DelegationInfo> delegationInfos);
	
	
	
	public Map<String, List<Integer>> generateGroupedSheetInfosIndexes(List<SheetInfo> sheetInfos);
	public Map<String, List<Integer>> generateGroupedDelegationsIndexes(List<DelegationInfo> delegationInfos);
}
